#include "Base\Surface.h"
#include "Base\Settings.h"
#include "UI\Widgets\WidgetFactory.h"
#include "UI\Widgets\Button.h"

///////////////////////////////////////////////////////////
//        ///  //////  /        ///  ///////  ///        //
//  //////  /  //////  /  //////  /  ///////  /  //////////
//        ///  //////  /        ///  ///////  /  //////////
//  /////////  //////  /  //////  /  ///////  /  //////////
//  ///////////      ///        ///        /  ///        //
///////////////////////////////////////////////////////////

bool ShRp::UI::Widgets::Button::Init( int2 _Pos, int2 _Size, std::string _Text )
{
	if(!Widget::Init(_Pos, _Size))
	{
		Error("Widget::Init failed.\n");
		return false;
	}
	m_Label = (Label*)WidgetFactory::CreateWidget(Widget::Type::Label, m_Parent);
	m_Label->Init(m_Pos, m_Size, _Text);
	return true;
}

void ShRp::UI::Widgets::Button::Paint()
{
	m_Label->Paint();
	Base::Surface::Box(m_Pos, m_Pos + m_Size, Base::Settings::GetSetting<Color>("foreColor"));
	//Base::Surface::Box(m_Pos, m_Pos + m_Size, Color(0, 255, 0, 255));
}

void ShRp::UI::Widgets::Button::MouseMove()
{
	Widget::MouseMove();
}

void ShRp::UI::Widgets::Button::MouseDown( MouseButton::E btn )
{
	Widget::MouseDown(btn);
}

void ShRp::UI::Widgets::Button::MouseUp( MouseButton::E btn )
{
	Widget::MouseUp(btn);
}

////////////////////////////////////////////////////////////////
//      ///      ///  /  //////  ///    ///          /        //
//  ////  /  ////  /  /  //////  /  ////  /////  /////  ////////
//      ///      ///  ///  //  ///        /////  /////      ////
//  ///////  //  ///  ///  //  ///  ////  /////  /////  ////////
//  ///////  ////  /  /////  /////  ////  /////  /////        //
////////////////////////////////////////////////////////////////

ShRp::UI::Widgets::Button::Button( Control* _Parent )
: Widget(Widget::Type::Button, _Parent)
{
}